hysop.backend.device.codegen.base.opencl_codegen module¶
- class hysop.backend.device.codegen.base.opencl_codegen.OpenClCodeGenerator(name, typegen, ext='.cl', known_vars=None, declare_cl_exts=True, **kargs)[source]¶
Bases:
CodeGenerator
- default_escape_seqs = {'\t': ' ', '\n': '\n', ' ': ' '}¶
- default_keywords = {'constant': '__constant', 'global': '__global', 'inline': 'inline', 'kernel': '__kernel', 'local': '__local', 'private': '__private', 'read_only': '__read_only', 'read_write': '__read_write', 'write_only': '__write_only'}¶
- multi_vload_if(cond, scalar_cond, n, offset, srcs, dsts, default_values, offset_is_ftype=True, jmp=False, use_short_circuit=False, else_cond=None, extra_offsets=None)[source]¶
- multi_vstore_if(cond, scalar_cond, n, offset, srcs, dsts, offset_is_ftype=True, jmp=False, use_short_circuit=False, else_cond=None, extra_offsets=None)[source]¶
- vload_if(cond, scalar_cond, n, ptr, offset, dst, default_value, offset_is_ftype=True, align=False, jmp=False, use_short_circuit=False, else_cond=None)[source]¶
- vstore(n, ptr, offset, data, offset_is_ftype=True, align=False, jmp=False, suppress_semicolon=False)[source]¶